{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f37\froman\fcharset238\fprq2 Times New Roman CE;}{\f38\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f40\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f41\froman\fcharset162\fprq2 Times New Roman Tur;}{\f42\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f43\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f44\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f45\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f47\fswiss\fcharset238\fprq2 Arial CE;}{\f48\fswiss\fcharset204\fprq2 Arial Cyr;}{\f50\fswiss\fcharset161\fprq2 Arial Greek;}{\f51\fswiss\fcharset162\fprq2 Arial Tur;}
{\f52\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f53\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f54\fswiss\fcharset186\fprq2 Arial Baltic;}{\f55\fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \snext0 Normal;}{\*\cs10 \additive 
\ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid1558901980
\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}}{\listname ;}\listid-2}}{\*\listoverridetable{\listoverride\listid-2\listoverridecount1{\lfolevel
\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelold\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}}{\*\rsidtbl \rsid7038667\rsid14693713}{\*\generator Microsoft
 Word 11.0.6502;}{\info{\author Daniel Grunwald}{\operator Daniel Grunwald}{\creatim\yr2006\mo2\dy12\hr15\min14}{\revtim\yr2006\mo2\dy12\hr15\min14}{\version2}{\edmins0}{\nofpages1}{\nofwords126}{\nofchars800}{\nofcharsws925}{\vern24579}}
\margl1417\margr1417\margt1417\margb1134 \widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
\jcompress\viewkind4\viewscale80\nolnhtadjtbl\rsidroot7038667 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain 
\qj \li0\ri0\sa120\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\b\fs48\lang1023\langfe1031\langnp1023\insrsid14693713 Codon Creation Sample}{\lang1023\langfe1031\langnp1023\insrsid14693713 
\par 
\par The codon creation example shows how to extend the default codon set that ships with SharpDevelop.
\par A codon is an xml node in an .addin file that represents a custom type.  When SharpDevelop starts it reads the codons and creates objects using doozer (builder) classes.  SharpDevelop can be customised to use custom doozers defined by an addin author.   

\par SharpDevelop defines several codons and associated doozers.
\par 
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \qj \fi-720\li720\ri0\sa120\nowidctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid14693713 {
\lang1023\langfe1031\langnp1023\insrsid14693713 MenuItem
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}ToolBarItem
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}CodeCompletionBinding
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}DialogPanel
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}DisplayBinding
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Icon
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Pad
\par {\pntext\pard\plain\f3\lang1023\langfe1031\langnp1023 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Parser
\par }\pard \qj \li0\ri0\sa120\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1023\langfe1031\langnp1023\insrsid14693713 
\par For example, SharpDevelop creates its menus based on the MenuItem codons in all the .addin files.
\par After the sample has been built and SharpDev
elop re-started, it can be run by selecting the menu option Codon Creation Sample | Read Test Codon.  This causes SharpDevelop to use the custom doozer class (TestDoozer) to create a TestCodon class with the text specified in the CodonCreation.addin file.

\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang1033\langfe1031\langnp1033\insrsid14693713 
\par 
\par }{\f1\fs20\lang1033\langfe1031\langnp1033\insrsid14693713 
\par }}